1. Field of the Invention
The present invention relates to an unauthorized usage prevention system for software executable in an information processing apparatus.
2. Description of the Related Art
Conventionally, software such as application programs can be installed in and executed by information processing apparatuses such as computers. There are cases where only one license is permitted per software product, and various measures are taken to prevent any unauthorized usage that violates this arrangement.
One unauthorized usage prevention measure employs the following method. That is, when a user attempts to install software or execute the installed software, the user is requested to input a character string for authentication, which character string is associated with the software. If the character string for authentication is not correctly input, the software will not be installed or executed. However, this method is ineffective in a case where the software is copied. A user will be able to install or execute the copy of the software as long as the user obtains the character string for authentication associated with the software. Accordingly, unauthorized usage cannot be completely prevented.
Furthermore, there are cases where restrictions are applied so that the software or the information processing apparatus in which the software is installed can only be operated during a limited test period, or restrictions are applied so that only limited functions of the software can be used. If a user desires to cancel such a restriction, the user needs to be registered with the supplier of the software or the information processing apparatus to acquire a character string for authentication or an electronic key, which needs to be downloaded in the software or the information processing apparatus. This method requires the user who is willing to cancel the restriction to perform registration steps. Furthermore, a server needs to be installed and managed, to function as the contact point for distributing character strings or electronic keys used for authentication. Accordingly, this method requires high costs.
There is another method of using a hardware key (see, for example, Patent Document 1). This method is performed on condition that the information processing apparatus is provided with a port to which a hardware key can be connected. Identification information is uniquely specified for each software product. Software is supplied to a user together with a key module associated with the software, which key module is constituted of hardware and includes a storage unit storing key information corresponding to the identification information of the software. The information processing apparatus can only execute software that corresponds to key information included in a key module connected to its port. With this method, if software is copied, the copy of the software cannot be executed unless a key module associated with the software is acquired or copied. Copying a key module is not easy and is also expensive. Therefore, unauthorized usage of software can be substantially prevented.    Patent Document 1: Japanese Laid-Open Patent Application No. 2005-38068
However, with the method of using a hardware key, a key module associated with software needs to be connected to the port of the information processing apparatus in order to execute the software. Thus, in order to use plural software products at the same time in a single information processing apparatus, the same number of key modules as the software products needs to be connected to the information processing apparatus. Accordingly, it is necessary to increase the space around the information processing apparatus according to the number of connected key modules corresponding to the number of software products used.